home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 23
/
AACD 23.iso
/
AACD
/
Utilities
/
Dismount
/
Dismount.e
< prev
next >
Wrap
Text File
|
1993-06-23
|
2KB
|
56 lines
/* Dismount util by Jaca/Dreamolers-CAPS
** PUBLIC DOMAIN SOFTWARE
** Contact: jacadcaps@poczta.onet.pl
** Homepage: jacadcaps.tripod.com
**
** Dreamolers-CleverAmigantsPolishSociety
** product
*/
OPT 020
MODULE 'dos/dos','exec/nodes','dos/dostags','dos/dosextens','exec/ports','exec/tasks'
DEF name[300]:STRING,buf[350]:STRING,dp:PTR TO devproc,task:PTR TO process,name2[300]:STRING
DEF myarg[1]:ARRAY OF LONG,rdargs,lock:PTR TO LONG
DEF e
PROC main()
task:=FindTask(0);task.windowptr:=-1; ->do not open requesters
IF rdargs:=ReadArgs('VOL=DEV/A',myarg,NIL)
dp:=GetDeviceProc(myarg[0],NIL)
IF dp<>0
task:=dp.port.sigtask
StringF(name,'\s:',task.task.ln.name)
FreeDeviceProc(dp)
IF StrLen(name)>1
UpperStr(name);CopyMem(myarg[0],name2,StrLen(myarg[0])+1);UpperStr(name2)
IF StrCmp(name2,name,ALL)
lock:=Lock(myarg[0],ACCESS_READ)
IF lock<>0
NameFromLock(lock,name,300)
UnLock(lock)
ELSE; ->no VOLUME mounted (remove the drive only!)
StringF(name,'')
-> IF IoErr()=ERROR_NO_DISK
/* removed since CacheCDFS returns "not a dos disk" error when **
** I want to lock an audio CD */
StringF(buf,'assign >NIL: \s dismount remove',myarg[0])
Execute(buf,0,0)
-> ENDIF
ENDIF
ENDIF
IF StrLen(name)>0
StringF(buf,'assign >NIL: \s dismount remove',name)
Execute(buf,0,0)
StringF(buf,'assign >NIL: \s dismount remove',myarg[0])
Execute(buf,0,0)
ENDIF
ENDIF
ELSE;WriteF('Unable to GetDeviceProc!\n');ENDIF
FreeArgs(rdargs)
ENDIF
ENDPROC
vers: CHAR '$VER: Dismount 1.3 (23.06.01) ©2001 Dreamolers-CAPS'